Method and system for realizing function by causing elements of hardware to perform linkage operation

ABSTRACT

A system that stores functional information indicating a capability of each of a plurality of elements located remotely from the system; identifies a function capable of being performed by linking a plurality of the elements based on the stored functional information; and transmits information corresponding to the identified function capable of being performed by linking the plurality of elements to a first device remote from the system.

CROSS REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. application Ser. No.16/163,091, filed Oct. 17, 2018, which is a continuation of U.S.application Ser. No. 16/008,770, filed Jun. 14, 2018 (now U.S. Pat. No.10,142,901), which is a continuation of U.S. application Ser. No.15/123,171, filed Sep. 1, 2016 (now U.S. Pat. No. 10,021,612), which isbased on PCT Application No. PCT/JP2015/002360, filed May 8, 2015, whichclaims the benefit of Japanese Priority Patent Application JP2014-101507, filed May 15, 2014, the entire contents of each areincorporated herein by reference.

TECHNICAL FIELD

The present disclosure relates to a method and system for realizing afunction by causing elements of hardware or software to perform alinkage operation.

BACKGROUND ART

In recent years, with the development of information society, it isbecoming possible to reflect various demands from users in productdevelopment of hardware and software. For example, PTL 1 proposes atechnology for enabling an investor to appropriately invest indevelopment of an application program and enabling a developer toappropriately carry out the development. In this technology, thedevelopment of an application program can be carried out according to anintention of the investor by scoring the intention of the investor forthe investment.

CITATION LIST Patent Literature

[PTL 1]

JP 2013-92997A

SUMMARY Technical Problem

Even in the technology disclosed in PTL 1, however, various demands fromusers may not be said to be sufficiently reflected in products. Sinceproducts such as application programs provide one complete function,consumers are limited to users to whom the function is necessary.Accordingly, products can be difficult to market unless there is someextent of generality of functions. PTL 1 discloses an example ofsoftware, but the same applies to hardware.

It is desirable to provide a novel and improved method and system forrealizing a function by causing hardware or software to perform alinkage operation to respond to various demands from users.

Solution to Problem

According to a first exemplary embodiment, the disclosure is directed toa system that stores functional information indicating a capability ofeach of a plurality of elements located remotely from the system;identifies a function capable of being performed by linking a pluralityof the elements based on the stored functional information; andtransmits information corresponding to the identified function capableof being performed by linking the plurality of elements to a firstdevice remote from the system.

According to a first exemplary embodiment, the disclosure is directed toa method performed by an information processing system, the methodcomprising: identifying a function capable of being performed by linkinga plurality of elements located remotely from the information processingsystem based on stored functional information indicating a capability ofeach of the plurality of elements; and transmitting informationcorresponding to the identified function capable of being performed bylinking the plurality of elements to a first device remote from theinformation processing system. According to another exemplaryembodiment, the disclosure is directed to a computer readable mediumincluding computer program instructions, which when executed by aninformation processing system, cause the information processing systemto perform the method discussed above.

Advantageous Effects of Invention

According to an embodiment of the present disclosure described above, itis possible to realize a function by causing hardware or software toperform a linkage operation to respond to various demands from users.

Note that the effects described above are not necessarily limited, andalong with or instead of the effects, any effect that is desired to beintroduced in the present specification or other effects that can beexpected from the present specification may be exhibited.

BRIEF DESCRIPTION OF DRAWINGS

FIG. 1 is a diagram illustrating an overall configuration of a system towhich a technology according to an embodiment of the present disclosurecan be applied.

FIG. 2 is a diagram illustrating a first specific configuration exampleof the system illustrated in FIG. 1.

FIG. 3 is a diagram illustrating a second specific configuration exampleof the system illustrated in FIG. 1.

FIG. 4 is a diagram illustrating a third specific configuration exampleof the system illustrated in FIG. 1.

FIG. 5 is a diagram illustrating a fourth specific configuration exampleof the system illustrated in FIG. 1.

FIG. 6 is a diagram illustrating a fifth specific configuration exampleof the system illustrated in FIG. 1.

FIG. 7 is a diagram illustrating a sixth specific configuration exampleof the system illustrated in FIG. 1.

FIG. 8 is a diagram illustrating a seventh specific configurationexample of the system illustrated in FIG. 1.

FIG. 9 is a diagram illustrating an eighth specific configurationexample of the system illustrated in FIG. 1.

FIG. 10 is a diagram illustrating a first example of a UI supplied inthe system illustrated in FIG. 1.

FIG. 11 is a diagram illustrating a second example of a UI supplied inthe system illustrated in FIG. 1.

FIG. 12 is an explanatory diagram illustrating a first specific exampleof a linkage operation of elements in the system illustrated in FIG. 1.

FIG. 13 is an explanatory diagram illustrating a second specific exampleof a linkage operation of elements in the system illustrated in FIG. 1.

FIG. 14 is an explanatory diagram illustrating a third specific exampleof a linkage operation of elements in the system illustrated in FIG. 1.

FIG. 15 is an explanatory diagram illustrating a fourth specific exampleof a linkage operation of elements in the system illustrated in FIG. 1.

FIG. 16 is an explanatory diagram illustrating a fifth specific exampleof a linkage operation of elements in the system illustrated in FIG. 1.

FIG. 17 is an explanatory diagram illustrating a sixth specific exampleof a linkage operation of elements in the system illustrated in FIG. 1.

FIG. 18 is a diagram illustrating a configuration example of a systemaccording to an embodiment of the present disclosure.

FIG. 19 is a diagram illustrating a functional configuration example ofa system according to an embodiment of the present disclosure.

FIG. 20 is a diagram illustrating a configuration example of a serviceplatform according to an embodiment of the present disclosure.

FIG. 21 is a diagram illustrating a first example of exchange ofinformation regarding elements according to an embodiment of the presentdisclosure.

FIG. 22 is a diagram illustrating a second example of exchange ofinformation regarding elements according to an embodiment of the presentdisclosure.

FIG. 23 is a diagram illustrating a third example of exchange ofinformation regarding elements according to an embodiment of the presentdisclosure.

FIG. 24 is a diagram illustrating a fourth example of exchange ofinformation regarding elements according to an embodiment of the presentdisclosure.

FIG. 25 is a diagram illustrating a fifth example of exchange ofinformation regarding elements according to an embodiment of the presentdisclosure.

FIG. 26 is an explanatory diagram illustrating an example of a packagewhich is sold in the example of FIG. 25.

FIG. 27 is a diagram illustrating a sixth example of exchange ofinformation regarding elements according to an embodiment of the presentdisclosure.

FIG. 28A is an explanatory diagram illustrating how a structure such asthat of the example of FIG. 27 is superior.

FIG. 28B is an explanatory diagram illustrating how a structure such asthat of the example of FIG. 27 is superior.

FIG. 29 is a diagram illustrating a seventh example of exchange ofinformation regarding elements according to an embodiment of the presentdisclosure.

FIG. 30 is a block diagram illustrating a hardware configuration exampleof an information processing apparatus according to an embodiment of thepresent disclosure.

DESCRIPTION OF EMBODIMENTS

Hereinafter, preferred embodiments of the present disclosure will bedescribed in detail with reference to the appended drawings. Note that,in this specification and the appended drawings, structural elementsthat have substantially the same function and structure are denoted withthe same reference numerals, and repeated explanation of thesestructural elements is omitted.

The description will be made in the following order.

1. Example of applicable system

1-1. Overall configuration

1-2. Specific configuration examples

1-3. Examples of user interface

1-4. Examples of linkage operations

2. Embodiments of the present disclosure

2-1. System configuration example

2-2. Configuration of service platform

2-3. Examples of exchange of information regarding element

2-4. Conclusion of embodiment

3. Hardware configuration

4. Supplement

1. Example of Applicable System 1-1. Overall Configuration

FIG. 1 is a diagram illustrating an overall configuration of a system towhich a technology according to an embodiment of the present disclosurecan be applied. Referring to FIG. 1, a system 10 includes an element100, a manager 200, a server 300, and a user interface (UI) device 400.These devices are mutually connected via a network NW. The network NWincludes, for example, Bluetooth (registered trademark), Wi-Fi, and theInternet. The system 10 will be described below as an example, but thetechnology according to the embodiment of the present disclosure canalso be applied to various other systems.

The element 100 is a device that includes a communication unit 110, acontrol unit 120, a function unit 130, and a power unit 140. Thecommunication unit 110 includes a communication device that communicateswith the manager 200 and/or another element 100 via the network NW. Thecontrol unit 120 is realized by, for example, a micro-controller or acentral processing unit (CPU) and controls the function unit 130. Thefunction unit 130 includes, for example, a sensor or an actuator andrealizes a unique function of each element 100. The power unit 140includes a battery or a power plug and supplies power to operate thecommunication unit 110, the control unit 120, and the function unit 130.A power unit is included in not only the element 100 but also the otherdevices, but is not illustrated.

The manager 200 is a device that includes a communication unit 210, acontrol unit 220, and a storage unit 230. The communication unit 210 caninclude a communication device that communicates with the element 100,the server 300, and the UI device 400 via the network NW. The controlunit 220 is realized by, for example, a micro-controller or a CPU andcontrols communication between the elements 100 and between the element100 and the server 300 via the communication unit 210. The control unit220 can include a calculation unit 221. The calculation unit 221performs calculation on information received from the element 100,information transmitted to the element 100, information transmitted tothe server 300, information received from the server 300, and the like.The storage unit 230 includes a memory or storage and stores informationexchanged through the communication controlled by the control unit 220,information calculated by the calculation unit 221, and the like.

The server 300 includes a communication unit 310, a control unit 320,and a storage unit 330. The communication unit 310 includes acommunication device that communicates with the manager 200 via thenetwork NW. The control unit 320 is realized by, for example, amicro-controller or a CPU and can include a calculation unit 321 and aUI supply unit 323. The calculation unit 321 performs calculation oninformation received from the element 100 or the manager 200,information transmitted to the element 100 or the manager 200,information received from another server, information transmitted toanother server, and the like. The UI supply unit 323 supplies a UI sothat a user can designate a combination of the element 100 and/or themanager 200 and confirm various kinds of information. For example, theUI is supplied via a display, a touch panel, or the like included in aninput and output unit 430 of the UI device 400. The storage unit 330includes a memory or a storage and stores various kinds of informationregarding the element 100, a program causing the plurality of elements100 to operate in combination, software which can be combined with theelement 100, information calculated by the calculation unit 321, and thelike.

Here, the storage unit 330 of the server 300 stores, for example,identification information (ID) of the element 100 in the system 10. Theelement 100 can be added to the system 10 at any time. The storage unit330 also stores a program causing the plurality of elements 100 tooperate in combination. A program can be added at any time by, forexample, a user, a developer, or a system administrator. The storageunit 330 stores software. For example, when the software is executed incombination with the element 100, a function is realized. Alternatively,a function may also be realized by executing software in combination.Examples of the functions by which software is realized can includesupply of materials such as audio or an image, a timer, a calendar, ananalysis function for image recognition, audio recognition, and thelike, and an information acquisition function from an external servicesuch as a weather forecast or news. Software can be added at any timeby, for example, a user, a developer, or a system administrator.

On the other hand, for example, the UI supply unit 323 of the server 300supplies a UI via the display, the touch panel, or the like included inthe input and output unit 430 of the UI device 400. For example, theuser can select a program causing the plurality of elements 100 tooperate in combination via the UI from programs preinstalled in theelements 100 or the manager 200 and programs supplied by the server 300.The user can also designate a combination of the plurality of elements100, a combination of the element 100 and software, or a combination ofa plurality of types of software via the UI. When the designatedcombination is stored as a program in the storage unit 330 of the server300 and the program is executed by the element 100 and the software, theuser can obtain a desired application.

The UI device 400 is a device that includes a communication unit 410, acontrol unit 420, and the input and output unit 430. The communicationunit 410 can include a communication device that communicates with themanager 200 and the server 300 via the network NW. The control unit 420is realized by, for example, a micro-controller or a CPU to control theinput and output unit 430 and control exchange of information via thecommunication unit 410. The input and output unit 430 includes, forexample, a display, a speaker, and a touch panel, suggests various kindsof information to the user via the UI, and receives a manipulation inputfrom the user.

1-2. Specific Configuration Examples First Example

FIG. 2 is a diagram illustrating a first specific configuration exampleof the system illustrated in FIG. 1. Referring to FIG. 2, a system 10 aincludes a first tablet functioning as an element 100, a second tabletfunctioning as the element 100, a manager 200, and a UI device 400, anda server 300.

Both of the first and second tablets similarly include a display, atouch panel, a CPU, and a sensor. In the system 10 a, one of the twotablets functions as the element 100, the manager 200, and the UI device400 and the other tablet functions as the element 100. The roles ofthese tablets may be compatible and tablets functioning as the manager200 and the UI device 400 may switch according to a circumstance. In thesystem 10 a, for example, a function desired by the user can be realizedby using various sensors of the tablets and operating the two tablets incombination.

In the example illustrated in FIG. 2, the first and second tablets areexamples of terminal devices including the function unit 130 (a sensoror the like) functioning as the element 100 and the control unit 220 (aCPU or the like) functioning as the manager 200. The terminal devicesare not limited to the tablets, but may be other devices such assmartphones. The number of terminal devices included in the system 10 ais not limited to the number in the illustrated example. For example,three or more terminal devices may be used.

Second Example

FIG. 3 is a diagram illustrating a second specific configuration exampleof the system illustrated in FIG. 1. Referring to FIG. 3, a system 10 bincludes elements 100 a to 100 g, a tablet functioning as a manager 200and a UI device 400, and a server 300.

The system 10 b, the tablet functions as the manager 200 and the UIdevice 400. As in the foregoing first example, the tablet may bereplaced with another device such as a smartphone. In the illustratedexample, the elements 100 include an acceleration sensor 100 a, a camera100 b, a human detection sensor 100 c, a button 100 d, a speaker 100 e,a light-emitting diode (LED) lamp 100 f, and a microphone 100 g. Each ofthe elements 100 communicates with the tablet through wirelesscommunication such as Bluetooth (registered trademark) and performs alinkage operation under the control of the manager 200 realized by thetablet.

In the following examples, some or all of the acceleration sensor 100 ato the microphone 100 g are illustrated as examples of the elements 100,but kinds of the elements 100 are not intended to be limited to thoseused in any of the examples. In each of the examples, the system 10 caninclude any of the acceleration sensor 100 a to the microphone 100 g orany other kinds of elements 100.

Third Example

FIG. 4 is a diagram illustrating a third specific configuration exampleof the system illustrated in FIG. 1. Referring to FIG. 4, a system 10 cincludes elements 100, a manager 200, a tablet functioning as a UIdevice 400, and a server 300.

In the system 10 c, the manager 200 is present independently from thetablet functioning as the UI device 400. For example, the manager 200may be realized by a dedicated device or may be realized as one of thefunctions of a base station of Wi-Fi or the like. As in the foregoingfirst and second examples, the tablet functioning as the UI device 400may be replaced with another device such as a smartphone. The manager200 and the tablet can independently communicate with the server 300.When settings of the system 10 c are changed through a UI supplied bythe tablet, the tablet may transmit setting information directly to themanager 200 via Wi-Fi or the like.

In the example of FIG. 4, not only Bluetooth (registered trademark) butalso Wi-Fi is used for the communication between the manager 200 and theelements 100. A mesh network repeater NW_m by Wi-Fi or the like is usedfor connection to the elements 100 located at remote places. Anembodiment of the present disclosure is not limited to the illustratedthird example. In other examples, various types of wirelesscommunication such as Bluetooth (registered trademark) or Wi-Fi can alsobe used for communication between the elements 100 and the manager 200and/or between the elements 100.

Fourth Example

FIG. 5 is a diagram illustrating a fourth specific configuration exampleof the system illustrated in FIG. 1. Referring to FIG. 5, a system 10 dincludes elements 100 of which some also function as a manager 200, atablet functioning as a UI device 400, and a server 300.

Unlike the foregoing first to third examples, at least one of theelements 100 functions as the manager 200 in the system 10 d. In thesystem 10 d, the elements 100 mutually form a mesh network throughBluetooth (registered trademark). In such a configuration, even whencommunication with the server 300 and the UI device 400 (tablet) istemporarily disconnected in the system 10 d, the elements 100 canautonomously perform a linkage operation.

Fifth Example

FIG. 6 is a diagram illustrating a fifth specific configuration exampleof the system illustrated in FIG. 1. Referring to FIG. 6, a system 10 eincludes elements 100 of which some function as a manager 200, a tabletfunctioning as a UI device 400, and a server 300. The system 10 e is anexample in which the manager 200 is incorporated into any of theelements 100 in the system 10 c in the foregoing third example.

Sixth Example

FIG. 7 is a diagram illustrating a sixth specific configuration exampleof the system illustrated in FIG. 1. Referring to FIG. 7, a system 10 fincludes elements 100, managers 200 a and 200 b, a tablet functioning asa UI device 400, and a server 300. The system 10 f is an example inwhich the plurality of managers 200 are disposed in the system 10 c inthe foregoing third example. For example, each of the elements 100 canbe connected to a manager of which a position is closer between themanagers 200 a and 200 b. A connection state of the elements 100 and aprogram causing the elements 100 to perform a linkage operation aresynchronized as necessary or periodically between the plurality ofmanagers 200 a and 200 b.

Seventh Example

FIG. 8 is a diagram illustrating a seventh specific configurationexample of the system illustrated in FIG. 1. Referring to FIG. 8, asystem 10 g includes elements 100, a manager 200 a, a tablet functioningas a manager 200 b and the UI device 400, and a server 300. The system10 g is an example in which the function of the manager 200 b isintegrated into the tablet in the system 10 f in the foregoing sixthexample. For example, each of the elements 100 can be connected to amanager of which a position is closer between the manager 200 a and thetablet. A connection state of the elements 100 and a program causing theelements 100 to perform a linkage operation are synchronized asnecessary or periodically between the manager 200 a and the tablet.

Eighth Example

FIG. 9 is a diagram illustrating an eighth specific configurationexample of the system illustrated in FIG. 1. Referring to FIG. 9, asystem 10 h includes elements 100, a tablet functioning as a UI device400, and a server 300 functioning as a manager 200. The system 10 h isan example in which the functions of the manager 200 are incorporatedinto the server 300 in the system 10 b in the foregoing second example.For example, each of the elements 100 directly communicates with theserver 300 via a mobile communication network or the like.

The several specific configuration examples of the system 10 illustratedin FIG. 1 have been described. Specific configuration examples of thesystem 10 are not limited to the above-described examples, but variousmodification examples which those skilled in the art will clearlyunderstand based on these configuration examples can be included.

1-3. Examples of User Interface

FIG. 10 is a diagram illustrating a first example of the UI supplied inthe system illustrated in FIG. 1. Referring to FIG. 10, a screen 4100displayed on the display of a terminal device functioning as the UIdevice 400 includes a user profile 4101, a program list tab 4103, and anelement list tab 4105. Since the program list tab 4103 is selected inthe illustrated example, a program list 4107 is displayed. The programlist 4107 includes program icons 4109, use element icons 4111, anddescriptions 4113. For example, the screen 4100 can be displayed as aportal screen when the user uses a service provided by the system 10.

FIG. 11 is a diagram illustrating a second example of the UI supplied inthe system illustrated in FIG. 1. Referring to FIG. 11, a screen 4200displayed on the display of the terminal device functioning as the UIdevice 400 includes a tool bar 4201, a canvas 4203, and a tray 4205. Forexample, the screen 4200 is used to edit a program causing the elements100 in the system 10 to perform a linkage operation. In the tool bar4201, function buttons such as “save” and “redo” are disposed. In thecanvas 4203, element icons 4207, a detailed information icon 4209, andlinks 4211 can be disposed or drawn. Referring to such icons and links,the elements 100 used for the linkage operation, a process performed byeach element 100, and a relation between the elements 100 can be set andconfirmed. In the canvas 4203, an element property box 4213 is disposed,for example, to display the properties or states of the elements 100disposed as the element icons 4207. In the tray 4205, the elements 100,software, or the like which can be embedded into a program by beingdisposed in the canvas 4203 are displayed as icons.

The UIs described with reference to FIGS. 10 and 11 are merely examplesand UIs with various forms can be supplied in the embodiment. Forexample, on the screen for editing of a program, as described withreference to FIG. 11, various UIs used on screens for visual programmingcan be applied.

1-4. Examples of Linkage Operations

Hereinafter, specific examples of a linkage operation of the elements inthe system illustrated in FIG. 1 will be further described. Tofacilitate understanding, the description will be made below withreference to a diagram visually expressing a program causing theelements 100 to perform a linkage operation. Such a diagram is notnecessarily associated with a UI (for example, a UI exemplified as thescreen 4200 in FIG. 11) provided by the UI device 400. Software to bedescribed below may be provided as an element (software element) similarto the element 100 (hardware element) or may be provided as a part ofthe function or operation of the element 100.

First Specific Example

FIG. 12 is an explanatory diagram illustrating a first specific exampleof a linkage operation of the elements in the system illustrated inFIG. 1. Referring to FIG. 12, in this example, the acceleration sensor100 a and the camera 100 b are used among the elements 100. For example,the acceleration sensor 100 a is mounted on a door of a refrigerator andthe camera 100 b is mounted at a position at which the inside of therefrigerator can be imaged. In the illustrated example, a link 601oriented from the acceleration sensor 100 a to the camera 100 b meansthat “the camera 100 b performs photographing based on a detected valueof the acceleration sensor 100 a.” In the illustrated example,“uploading a captured image to the server” is designated as an operationof the camera 100 b.

In the illustrated example, software 603 a detecting that the door isopened based on acceleration is used. The software 603 a is executed by,for example, the calculation unit 221 of the manager 200 and detectsthat the door of the refrigerator is opened based on an analysis resultof a value detected by the acceleration sensor 100 a. By introducing thesoftware 603 a, the link 601 is a process in which “the camera 100 bperforms photographing when it is determined that the door of therefrigerator is opened based on the value detected by the accelerationsensor 100 a”

Through the setting of such a program, in this example, an imagephotographed by the camera 100 b when the door of the refrigerator isopened is uploaded to the server. The user can comprehend a change ofthe contents or a latest inventory state of the refrigerator by viewingthe uploaded image.

Here, when opening of the door of the refrigerator is desired to bedetected, a sensor dedicated for opening and closing detection usingmagnetism can also be used. In this example, however, by introducing thesoftware 603 a, it is possible to detect that the door is opened usingthe acceleration sensor 100 a. Accordingly, in order to detect openingof the door of the refrigerator, for example, the acceleration sensor100 a used for another purpose until that time can be appropriatedrather than using a dedicated sensor. When it is already unnecessary todetect that the door of the refrigerator is opened, the accelerationsensor 100 a can be diverted to another purpose. Thus, in theembodiment, by changing a combination with software or other elements100, the same elements 100 can be utilized for various purposes.

Second Specific Example

FIG. 13 is an explanatory diagram illustrating a second specific exampleof a linkage operation of the elements in the system illustrated inFIG. 1. Referring to FIG. 13, in this example, the acceleration sensor100 a and the button 100 d are used among the elements 100. For example,the acceleration sensor 100 a is mounted on the door of a bathroom andthe button 100 d is mounted on a lavatory. In the illustrated example,software 603 a detecting that the door is opened based on accelerationand software 603 b recording supplied data are further used. The link601 oriented from the acceleration sensor 100 a to the software 603 bvia the software 603 a means that “the software 603 b records the factthat it is determined based on a value detected by the accelerationsensor 100 a that the door is opened.” The link 601 oriented from thebutton 100 d to the software 603 b means that the software 603 b recordsthe fact that a signal is output from the button 100 d.”

In this example, by setting the program in this way, a time at which theuser presses the button 100 d in the lavatory and a time at which thedoor of the toilet is opened are recorded in a log. For example, whenthe user decides to press the button 100 d to wash his or her face inthe lavatory after getting up, a time at which the button 100 d ispressed can be recorded as a time of getting up. For example, changes inthe time of getting up every day and the time at which the user goes tothe bathroom can be referred to chronologically, and thus such a log ishelpful in improving a life rhythm of the user.

Third Specific Example

FIG. 14 is an explanatory diagram illustrating a third specific exampleof a linkage operation of the elements in the system illustrated inFIG. 1. Referring to FIG. 14, in this example, the acceleration sensor100 a and the human detection sensor 100 c are used among the elements100. For example, the acceleration sensor 100 a is mounted on a chairand the human detection sensor 100 c is mounted on a desk in front ofthe chair. In the illustrated example, software 603 c recording a timeat which the user sits on the chair based on detection results of theacceleration sensor 100 a and the human detection sensor 100 c isfurther used. The link 601 oriented from the acceleration sensor 100 ato the software 603 c means that “a value detected by the accelerationsensor 100 a is supplied to the software 603 c.” The link 601 orientedfrom the human detection sensor 100 c to the software 603 c means that“a value detected by the human detection sensor 100 c is supplied to thesoftware 603 c.”

In this example, by setting the program in this way, a time at which theuser sits on the chair is recorded. The user can comprehend the time atwhich the he or she sits in his or her workplace based on the record andcan take a break when a time for which he or she has continued to sit istoo long. Alternatively, software outputting an alert from a smartphonebased on the detection result of the software 603 c may be furtherembedded. Then, when the user continues to sit for longer than apredetermined time, an alert may be output from the smartphone to urgethe user to take a break.

Fourth Specific Example

FIG. 15 is an explanatory diagram illustrating a fourth specific exampleof a linkage operation of the elements in the system illustrated inFIG. 1. Referring to FIG. 15, in this example, the acceleration sensor100 a, the speaker 100 e, and the LED lamp 100 f are used among theelements 100. For example, the acceleration sensor 100 a, the speaker100 e, and the LED lamp 100 f are mounted on appropriate parts of thebody of a user (for example, a child). The plurality of accelerationsensors 100 a may be used. In the illustrated example, software 603 dreproducing a sound effect according to a pattern of acceleration andsoftware 603 e flashing a lamp in a predetermined pattern similarlyaccording to a pattern of acceleration are further shown. The pattern ofacceleration handled by the software 603 may be a pattern of a singleacceleration waveform or may be a combination pattern of a plurality ofacceleration waveforms. The link 601 is set to be oriented from theacceleration sensor 100 a to each of the software 603 d and the software603 e. The link 601 means that “a value detected by the accelerationsensor 100 a is supplied to each of the software 603 d and the software603 e.” The link 601 is set from the software 603 d to the speaker 100 eand is set from the software 603 e to the LED lamp 100 f The links 601means that “the speaker 100 e outputs audio according to an audio signalsupplied by the software 603 d” and “the LED lamp 100 f emits lightaccording to a signal supplied by the software 603 e.”

By setting the program in this way, in this example, a sound effect isoutput from the speaker 100 e or light is emitted from the LED lamp 100f when the user (for example, a child) moves his or her hand or leg in aspecific pattern. Thus, for example, when the child pretends to be asuperhero, the child can have an exciting experience with the soundeffect and the light.

Fifth Specific Example

FIG. 16 is an explanatory diagram illustrating a fifth specific exampleof a linkage operation of the elements in the system illustrated inFIG. 1. Referring to FIG. 16, in this example, the acceleration sensor100 a, the human detection sensor 100 c, the camera 100 b, and the LEDlamp 100 f are used among the elements 100. For example, theacceleration sensor 100 a, the human detection sensor 100 c, and thecamera 100 b are mounted on a bird table of a garden and the LED lamp100 f is mounted inside a house. In the illustrated example, software603 f for determining that a bird is sitting on the bird table based ondetection results of the acceleration sensor 100 a and the humandetection sensor 100 c is further shown. The link 601 is set to beoriented from each of the acceleration sensor 100 a and the humandetection sensor 100 c to the software 603 f The link 601 from theacceleration sensor 100 a means that “a value detected by theacceleration sensor 100 a is supplied to the software 603 f” The link601 from the human detection sensor 100 c means that “a value detectedby the human detection sensor 100 c is supplied to the software 603 f”The software 603 f is supplied with, for example, a condition satisfiedby a combination of sensor data supplied by the acceleration sensor 100a and the human detection sensor 100 c. The link 601 is set to beoriented from the software 603 f to each of the camera 100 b and the LEDlamp 100 f. The link 601 to the camera 100 b means that “the camera 100b performs photographing based on an output of the software 603 f.” Thelink to the LED lamp 100 f means that “the LED lamp 100 f is caused toemit light based on an output of the software 603 f.”

By setting the program in this way, in this example, when a bird sits onthe bird table, a still image or a moving image is automaticallyphotographed by the camera 100 b, and thus a user can see what type ofbird has come. When the bird sits on the bird table and the LED lamp 100f inside the house thus emits light, the user can come out to the gardento actually see the bird that has come.

Sixth Specific Example

FIG. 17 is an explanatory diagram illustrating a sixth specific exampleof a linkage operation of the elements in the system illustrated inFIG. 1. Referring to FIG. 17, in this example, the button 100 d and thespeaker 100 e are used among the elements 100. For example, the speaker100 e is disposed in a bedroom and the button 100 d is disposed in alavatory. In the illustrated example, software 603 g of an alarm clockis further shown. The link 601 is set from the software 603 g to thespeaker 100 e. The link 601 means that “the speaker 100 e outputs audioaccording to an audio signal output by the software 603 when a set timecomes.” The link 601 is set from the button 100 d to the software 603 g.The link 601 means that “an output of an audio signal by the software603 g stops when the button 100 d is pressed.”

By setting the program in this way, in this example, the sound of thealarm clock output from the speaker 100 e disposed in the bedroom doesnot stop until the button 100 d in the lavatory is pressed. Thus, sincea situation in which the alarm stops despite the fact that the user isstill asleep rarely occurs, the user can reliably wake up at a scheduledtime.

2. Embodiments of the Present Disclosure 2-1. Configuration Examples ofSystem

FIG. 18 is a diagram illustrating a configuration example of a systemaccording to an embodiment of the present disclosure. Referring to FIG.18, a system 1000 includes end user terminals 1100 and servers 1300. Theend user terminals 1100 and the servers 1300 are mutually connected viaa network 1200.

The end user terminals 1100 are terminal devices used by end users. Theend users are, for example, the user of the system 10 described abovewith reference to FIG. 1 and the like. As will be described below, theend users have a software element, a hardware element, and an executionenvironment. The end user terminals 1100 exchange, for example,information regarding the elements, such as information regardingpurchase of the elements, information regarding a combination method forthe elements, and information regarding proposals of new elements, withthe servers 1300. The end user terminals 1100 can also download anexecution environment or a software element from the servers 1300. Theend user terminals 1100 output the information received from the servers1300 to the users via an output unit such as a display and transmitinformation corresponding to a manipulation input given from the usersvia an input unit such as a touch panel, a keyboard, or a mouse to theservers 1300. In the illustrated example, the end user terminals 1100include a smartphone 1100 a, a personal computer 1100 b, and a tablet1100 c. However, the end user terminals 1100 are not limited to thesedevices and can include all kinds of terminal devices capable ofrealizing the above-described functions.

The servers 1300 supply a service to at least one of the end userterminals 1100. The servers 1300 are configured of one or a plurality ofserver devices. In the illustrated example, the servers 1300 includeserver devices 1300 a to 1300 c, but the number of server devices is notlimited to this example. The number of server devices may be singular ormay be a number greater than 2 or 3. The servers 1300 can beadministered by one service supply entity or a plurality of servicesupply entities. For example, the servers 1300 can be administered by aservice provider managing all of the services, an element or contentsupplier, a manufacturer, and the like. For example, the server devices1300 a to 1300 c in the illustrated example may all be administered bythe same service supply entity or may be administered by mutuallydifferent service supply entities. A single server apparatus, e.g., theserver device 1300 a, may be commonly administered by a plurality ofservice supply entities. The servers 1300 exchange, for example, theinformation regarding the elements, such as information regardingpurchase of the elements, information regarding a combination method forthe elements, and information regarding proposals of new elements, withthe end user terminals 1100. The servers 1300 may also be able to allowthe end user terminals 1100 to download the execution environment or thesoftware element. The servers 1300 transmit information to be output tothe users to the end user terminals 1100 and receive informationcorresponding to a manipulation input given from the users from the enduser terminals 1100.

FIG. 19 is a diagram illustrating a functional configuration example ofa system according to an embodiment of the present disclosure. Referringto FIG. 19, the end user terminal 1100 includes a communication unit1110, a control unit 1120, a storage unit 1130, and an input and outputunit 1140. The server 1300 includes a communication unit 1310, a controlunit 1320, and a storage unit 1330.

In the end user terminal 1100, the communication unit 1110 is realizedby a communication device that performs wired or wireless communicationand performs communication with the server 1300 via the network 1200.The control unit 1120 is realized by a processing circuit such as a CPUand performs various kinds of calculation to control the entire end userterminal 1100. The storage unit 1130 is realized by a memory or astorage device and stores various kinds of data used by the end userterminal 1100, such as a program causing the control unit 1120 tofunction. The input and output unit 1140 is realized by an input devicesuch as a touch panel, a keyboard, or a mouse and an output device suchas a display. The input and output unit 1140 receives a manipulationinput from the user and outputs various kinds of information to theuser.

In the server 1300, the communication unit 1310 is realized by acommunication device that performs wired or wireless communication andperforms communication with the end user terminal 1100 via the network1200. The control unit 1320 is realized by a processing circuit such asa CPU and performs various kinds of calculation to control the entireserver 1300 (or the individual server device). The storage unit 1330 isrealized by a memory or a storage device and stores various kinds ofdata used by the server 1300, such as a program causing the control unit1320 to function. In the illustrated example, the server 1300 does notinclude an input and output unit since the server 1300 exclusivelyprovides a service to the end user terminal 1100 according to theprogram stored in the storage unit 1330. In several examples of theembodiments, however, the server 1300 may include an input and outputunit so that a service provider, a supplier, a manufacturer, and thelike changes settings of a service or updates information regarding theelement.

2-2. Configuration of Service Platform

FIG. 20 is a diagram illustrating a configuration example of a serviceplatform according to an embodiment of the present disclosure. Referringto FIG. 20, a service platform 2200 includes a manager function 2201, anelement selling and charging function 2207, a user management function2209, and an element management function 2211. The service platform 2200is supplied, for example, to cause the system 10 described above withreference to FIG. 1 and the like to function.

In the service platform 2200, the manager function 2201 can correspondto the function of the manager 200 of the system 10 in the example ofFIG. 1. Accordingly, the service platform 2200 can be mounted on, forexample, the device of the manager 200 described above with reference toFIGS. 2 to 9. Alternatively, the manager function 2201 is mounted on thedevice of the manager 200 and, on the other hand, the other functionsmay be mounted on another device such as the server 300 or the like. Thedevice on which the service platform 2200 is mounted may be the same ormay differ among the foregoing end user terminals 1100. The elementselling and charging function 2207, the user management function 2209,and the element management function 2211 may be mounted on the end userterminal 1100 or may be mounted on other devices to exchange informationwith the end user terminal 1100, as necessary. Hereinafter, eachconstituent element will be described.

The manager function 2201 includes a program management function 2203and an execution environment 2205. The manager function 2201 manages ahardware element 100 h and/or a software element 100 s and causes theseelements to realize a linkage operation. The program management function2203 manages a program defining the linkage operation by these elements.More specifically, the program management function 2203 can read apreinstalled program or a program supplied by the server and can updatethe program, correct the program, generate a new program according to auser's manipulation. The execution environment 2205 causes the hardwareelement 100 h and/or the software element 100 s to perform the linkageoperation according to the program managed by the program managementfunction 2203.

The element selling and charging function 2207 manages selling andcharging of the hardware element 100 h and the software element 100 s.For example, these elements may be sold by sending the body of thehardware element 100 h or a medium recording a program of the softwareelement 100 s or may be sold by downloading a valid key of the hardwareelement 100 h or the program of the software element 100 s. The hardwareelement 100 h or the software element 100 s may be validated only for apredetermined period by charging. The element selling and chargingfunction 2207 supplies the element management function 2211 withinformation indicating a state of the selling or the charging of theelements included in the system 10.

The user management function 2209 manages the users of the system 10. Aswill be described below, in the service according to the embodiment, theelements 100 included in the system 10 are managed for each user and theelements 100 used by the user to construct the system 10 are managed.The user management function 2209 enables the element managementfunction 2211 to specify the elements which can be used by the users inthe system 10 by managing the users of the system 10 in conjunction withthe element selling and charging function 2207.

The element management function 2211 manages the elements included inthe system 10. As described above, the elements include the hardwareelement 100 h and the software element 100 s. When the hardware element100 h is embedded in the system 10, the body thereof is firstnecessarily received by the user of the system 10. A software portionembedded in the hardware element 100 h may be validated by inputtingauthentication information through a validation key or the like or byperforming a validation manipulation via the execution environment 2205.In this case, the hardware element 100 h for which the software portionis not validated is embedded in the system 10 despite the fact that thebody thereof is received by the user, but the software portion can bevalidated and can first be embedded in the system 10.

On the other hand, when the software element 100 s is embedded in thesystem 10, it is necessary for a program module to be downloaded to bereceived by the user (the manager 200 or the element 100 having acalculation function) or it is necessary for an application programinterface (API) of the software element 100 s supplied on the server tobe available. As in the hardware element 100 h, a validation order maybe necessary in the software element 100 s. In this case, the softwareelement 100 s can be validated and can first be embedded in the system10.

The element management function 2211 manages the hardware element 100 hof which the body is received by the user and for which the softwareportion is validated (or the validation order is not necessary) and thesoftware element 100 s which is downloaded to be received by the user(or the API on the server is available) and is validated (or thevalidation order is not necessary) as the elements included in thesystem 10.

The element management function 2211 may handle a hardware element ofwhich a body is not received by the user or for which a software portionis not validated and a software element which is not downloaded to bereceived by the user (or an API on the server is not available) or isnot validated as elements not included in the system 10 and may simulatea combination with, for example, the elements included in the system 10.An element not included in the system 10 can also be newly included inthe system 10 by selling or charging the element, transmitting the bodyor acquiring a validation key, or downloading a program.

Information regarding the element not included in the system 10 can besupplied from the server 1300 to the end user terminal 1100, as will bedescribed below. The element management function 2211 can acquire theinformation from the user terminal 1100 (the element management function2211 is mounted on the user terminal 1100 in some cases).

2-3. Examples of Exchange of Information Regarding Element First Example

FIG. 21 is a diagram illustrating a first example of exchange ofinformation regarding elements according to an embodiment of the presentdisclosure. In the example illustrated in FIG. 21, an end user purchasesthe element 100 which is sold on the server 1300 of the service providervia the end user terminal 1100. The end user already possesses theexecution environment 2205 and an element 100 p. In the illustratedexample, the end user can use a simulation supplied for the sale on theserver 1300 using the end user terminal 1100.

When the simulation is used, the user first inputs a function desired tobe realized in the system 10 and/or information regarding the element100 p already possessed by the user with the end user terminal 1100. Theend user terminal 1100 transmits the information to the server 1300(S041). For example, the server 1300 generates simulation informationregarding a combination of the elements 100 capable of realizing thefunction desired to be realized with the system 10 by the user and/or acombination of the elements 100 utilizing the element 100 p alreadypossessed by the user and transmits the simulation information to theend user terminal 1100 (S042). The simulation information can includeinformation regarding an element 100 q which the user does not yetpossess (or which is not available) in the combination of the proposedelements 100 or information regarding a function or the like realizedwhen the combination of the elements 100 is performed on the executionenvironment 2205.

When the function supplied by the combination of the proposed elements100 satisfies a request, the user referring to the simulationinformation using the end user terminal 1100 can purchase the element100 q that he or she does not yet possess. For example, a request forpurchasing the element 100 q is transmitted from the end user terminal1100 to the server 1300. The service provider receiving the purchaserequest with the server 1300 sells the element 100 q to the user bysending a hardware element associated with the purchase request andcausing a software element to be downloadable. The user who is able touse the element 100 q can use the desired function in the system 10 bycausing the already possessed element 100 p and the newly purchasedelement 100 q to perform a linkage operation in the executionenvironment 2205.

In the foregoing example, for example, when the simulation informationis referred to with the end user terminal 1100, a program defining alinkage operation of the elements associated with the simulation may bedownloadable. Thus, for example, when the element 100 q can be usedthrough the purchase, the user can realize the linkage operation of theelements without performing a separate setting manipulation or the likeof defining the linkage operation. In the execution environment 2205,for example, a communication path of the elements 100 p and 100 q is setand identifiers of the elements 100 p and 100 q in the system 10 aredecided according to a downloaded program.

Second Example

FIG. 22 is a diagram illustrating a second example of exchange ofinformation regarding elements according to an embodiment of the presentdisclosure. In the example illustrated in FIG. 22, an end user A uses anend user terminal 1100 a to transmit the program defining the linkageoperation of the elements 100 in the system 10 to the server 1300 of theservice provider (S051). In the second example, information regarding aprogram supplied here by the end user A is shared with another end userB. More specifically, the information supplied by the end user A is usedas simulation information for the end user B.

In the illustrated example, the end user B inputs information regardinga function desired to be realized in the system 10 and/or the element100 p already possessed by the end user B with the end user terminal1100 b. The end user terminal 1100 b transmits the information to theserver 1300 (S052). Based on the information supplied in S051 from theend user A, the server 1300 generates simulation information regarding acombination of the elements 100 capable of realizing the functiondesired by the end user B to be realized in the system 10 and/or acombination of the elements 100 utilizing the element 100 p alreadypossessed by the user and transmits the simulation information to theend user terminal 1100 (S053). The simulation information can includeinformation regarding the element 100 q which the user does not yetpossess (or which is not available) in the combination of the proposedelements 100 or information regarding a function or the like realizedwhen the combination of the elements 100 is performed on the executionenvironment 2205.

When the function supplied by the combination of the proposed elements100 satisfies a request, the end user B referring to the simulationinformation using the end user terminal 1100 b can purchase the element100 q that he or she does not yet possess, as in the foregoing firstexample. The user who is able to use the element 100 q can use thedesired function in the system 10 by causing the already possessedelement 100 p and the newly purchased element 100 q to perform thelinkage operation in the execution environment 2205.

Third Example

FIG. 23 is a diagram illustrating a third example of exchange ofinformation regarding elements according to an embodiment of the presentdisclosure. In the example illustrated in FIG. 23, a server 1300 a of aservice provider mediates the elements 100 (including content) suppliedby a software supplier (server 1300 b), a hardware supplier (server 1300c), and a content supplier (1300 d).

In the illustrated example, an end user performs simulation using theend user terminal 1100 as in the foregoing first or second example. Thatis, the end user terminal 1100 transmits information regarding afunction desired to be realized in the system 10 by the user and/or thealready possessed element 100 p to the server 1300 a (S061) and theserver 1300 a transmits simulation information to the end user terminal1100 (S062). When the function supplied by a combination of the proposedelements 100 satisfies a request, the user referring to the simulationinformation can purchase the element 100 q that he or she does not yetpossess. At this time, payment of a price from the end user to theservice provider is performed through, for example, a settlement processbetween the end user terminal 1100 and the server 1300 a (S063).

On the other hand, the element 100 q purchased by the user in theforegoing process can be an element registered in advance from theservers 1300 b to 1300 d by the software supplier, the hardwaresupplier, or the content supplier. For example, the supplier registersthe element 100 by transmitting information regarding the specification,the prices, or the like of the element 100 from the servers 1300 b to1300 d to the server 1300 a (S064). As described above, when the serviceprovider sells the element 100 to the end user, a part of the price paidby the end user is returned from the service provider to the supplier(S065). Methods of returning the price to the supplier can be diverse.For example, a revenue sharing method may be adopted.

Fourth Example

FIG. 24 is a diagram illustrating a fourth example of exchange ofinformation regarding elements according to an embodiment of the presentdisclosure. In the example illustrated in FIG. 24, an end user Atransmits information regarding a function desired to be realized in thesystem 10 to the server 1300 a using the end user terminal 1100 a(S071). For example, the end user A may express the function desired tobe realized in a format that is not necessarily associated directly withthe constituent elements of the system 10, such as a photo or text. Theserver 1300 a publishes a posting from the end user A to other usersincluding the end user B (S072). The end user B referring to the postinggenerates a program which can realize the function desired by the enduser A, defines the linkage operation of the elements 100 in the system10, and transmits the program from the end user terminal 1100 b to theserver 1300 a (S073).

Based on the information supplied from the end user B, the server 1300 agenerates simulation information regarding a combination of the elements100 which can realize the function desired by the end user B in thesystem 10 and transmits the simulation information to the end userterminal 1100 a (S074). At this time, there may be a plurality of userscorresponding to the end user B. In this case, a plurality of pieces ofsimulation information are transmitted from the server 1300 a to the enduser terminal 1100 a. When the function supplied by a combination of theproposed elements 100 satisfies a request, the user referring to thesimulation information can purchase the element 100 q that he or shedoes not yet possess. At this time, payment of a price from the end userto the service provider is performed through, for example, a settlementprocess between the end user terminal 1100 and the server 1300 a.

In the illustrated example, as in the foregoing third example, theelements 100 sold by the service provider are registered from theservers 1300 b to 1300 d by the suppliers (S075). When the serviceprovider sells the element 100 to the end user A, a part of the pricepaid by the end user A is returned to the supplier (S076). At this time,when the end user A purchases the element 100 based on the informationsupplied by the end user B, that is, the combination of the elements 100proposed by the end user B is adopted, a part of the price paid for theelement 100 by the end user A may also be returned from the serviceprovider to the end user B. Methods of returning the price to the enduser can be diverse. For example, a revenue sharing method may beadopted. The service provider may sell the elements 100 directly to theend users rather than the mediation as in the foregoing first and secondexamples.

Fifth Example

FIG. 25 is a diagram illustrating a fifth example of exchange ofinformation regarding elements according to an embodiment of the presentdisclosure. In the example illustrated in FIG. 25, the end user A usesthe end user terminal 1100 a to register the elements 100 for realizinga certain function in the system 10 and a program defining a linkageoperation of the elements in the server 1300 a of the service provideras a package PKG (S081). As illustrated, the end user A may notnecessarily possess the elements or the program corresponding to thepackage PKG For example, the end user A may retain the service platform2200 including the execution environment 2205 and register the packagePKG in the sever 1300 a based on a simulation result executed using theservice platform 2200 and the end user terminal 1100.

On the other hand, the end user B refers to information regarding thepackage PKG registered in the server 1300 a using the end user terminal1100 b (S082) and purchases the package PKG when there is the packagePKG capable of realizing a desired function (S083). The service providersends the elements 100 included in the package PKG to the end user B andcauses the program defining the linkage operation to be downloadable(may store the program in a medium and send the element). When theservice provider sells the package PKG to the end user B, a part of theprice paid by the end user B is returned from the service provider tothe end user A (S084).

FIG. 26 is an explanatory diagram illustrating an example of a packagewhich is sold in the example of FIG. 25. In FIG. 26, a baby monitor kitis shown as an example of a product realized by the package PKG The babymonitor kit includes an acceleration sensor 100 a, a camera 100 b, aspeaker 100 e, an LED lamp 100 f, a microphone 100 g, and a motor 100 m.The acceleration sensor 100 a, the speaker 100 e, and the microphone 100g are embedded in the casing of a pedestal portion. The camera 100 b ismounted on an upper portion of a post. The LED lamp 100 f and the motor100 m are embedded in a bird-shaped toy and the motor 100 m moves thewings of the bird.

The elements 100 perform a linkage operation according to the program.For example, a remote manipulation is performed with a smartphone or thelike so that a baby monitor function of causing the LED lamp 100 f toblink, causing the motor 100 m to move the wings, and confirming a formwith the camera 100 b is realized. The program for the linkage operationis downloaded from the server 300 to the elements 100 via the manager200 for example, when the respective elements 100 are delivered to asource of the end user and the elements are connected to the manager 200to correspond to an account of the end user. An embodiment of thepresent disclosure is not limited to the program. For example, contentsuch as a sound material reproduced by the speaker 100 e is likewisedownloaded from the server 300 to the element 100 via the manager 200.

When the end user B purchases the package PKG in the example describedabove with reference to FIG. 25, for example, the casing in which theelements 100 are embedded, as illustrated in FIG. 26, is sent from theservice provider to the end user B. The casing may be sent in acompleted form or may be sent in a form in which it is disassembled intocomponents to be simply assembled. Further, the end user B can downloadthe program from the server 1300 a through, for example, the end userterminal 1100 b. As described above, for example, the downloaded programis downloaded from the manager 200 to the elements 100 so that theabove-described linkage operation of the elements 100 can be performed.

In the embodiment, even the elements 100 sold as the package PKG canperform a linkage operation in a combination of other elements 100 ifthe program is reset. For example, when the element such as theacceleration sensor 100 a or the camera 100 b is detached from thecasing and another program is installed via the manager 200 in theforegoing example, a different function from the baby monitor can berealized by performing a linkage operation in a different combination ofthe elements 100 from that of the foregoing example. Even when thefunction of the baby monitor is continuously used, the function can beeasily upgraded or customized by updating the program installed in eachelement 100 via the manager 200.

Sixth Example

FIG. 27 is a diagram illustrating a sixth example of exchange ofinformation regarding elements according to an embodiment of the presentdisclosure. In the example illustrated in FIG. 27, a hardwaremanufacturer posts ideas of new elements 100 from a server 1300 e to theserver 1300 a of the service provider (S101). At this time, the hardwaremanufacturer may post examples of functions realized using the newelements 100 together.

The service provider publishes the posted ideas of the new elements 100and the examples of the functions realized using the new elements 100using the server 1300 a. A plurality of end users browse the publishedideas using the end user terminals 1100 a to 1100 c (in practice, moreend user terminals may be used) (S102). When the end users intend topurchase the elements 100 of the published ideas, the end users expresssuch intention using the end user terminals 1100 a to 1100 c (S103). Atthis time, the end users may express functions desired to be used by theend users in the examples of the functions realized using the newelement 100.

Alternatively, the end users may newly propose functions realized usingthe new elements 100. The functions newly proposed by the end users maybe published along with the ideas of the new elements 100 posted by thehardware manufacturer. Thus, the end user can give the element 100 thathe or she wishes to own an added value known as a useful function andthe other end users can express an intention to purchase, therebyincreasing a probability of the element 100 being manufactured.

When the intention to purchase is expressed by a number of end usersequal to or greater than a predetermined number (S104), the hardwaremanufacturer manufactures the new element 100. In this case, the enduser may pay the price when the end user expresses the intention topurchase and a part of the price may be used to manufacture the newelement 100. Alternatively, the end user may purchase the element 100and pay the price after the element 100 is manufactured. The hardwaremanufacturer may manufacture, for example, a program realizing afunction for which many end users have expressed the intention to useamong the functions realized using the new elements 100 along with thenew element 100.

FIGS. 28A and 28B are explanatory diagrams illustrating how a structuresuch as that of the example of FIG. 27 is superior.

FIG. 28A illustrates an example of a case in which purchase applicantsare collected in units of products. In this case, for example, purchaseapplicants of a product A including an element 100 x and an element 100y (portions corresponding to the elements 100 x and 100 y), a product Bincluding the element 100 x and an element 100 z (portions correspondingto the elements 100 x and 100 z), and a product C including the element100 x and an element 100 w (portions corresponding to the elements 100 xand 100 w) are collected individually. In the illustrated example, it isassumed that it is difficult to manufacture the products unless, forexample, 1000 purchasers are collected. Then, since the number ofpurchasers of all of the products is less than 1000, it is difficult tomanufacture the products.

FIG. 28B illustrates an example of a case in which purchase applicantsare collected in units of elements using the same structure as that ofthe example of FIG. 27. In this case, for example, when the elements 100y, 100 z, and 100 w are already circulated, the purchase applicants ofthe element 100 x may be collected. Then, a sum of the consumers of theproduct A (the elements 100 x and 100 y), the product B (the elements100 x and 100 z), and the product C (the elements 100 x and 100 w) isthe number of purchasers of the element 100 x. Accordingly, even whenthe number of consumers of each product is less than 1000, the number ofpurchasers of the element 100 x which is the sum of the consumers of theproducts exceeds 1000, and thus the element 100 x can be manufactured.

Seventh Example

FIG. 29 is a diagram illustrating a seventh example of exchange ofinformation regarding elements according to an embodiment of the presentdisclosure. In the example illustrated in FIG. 29, the end user A postsideas of new elements 100 to the server 1300 a of the service providerusing the end user terminal 1100 a (S121). At this time, the end user Amay post examples of functions realized using the new elements 100together.

The service provider publishes the posted ideas of the new elements 100and the examples of the functions realized using the new elements 100using the server 1300 a. A plurality of end users browse the publishedideas using the end user terminals 1100 b and 1100 c (in practice, moreend user terminals may be used) (S122). When the end users intend topurchase the elements 100 of the published ideas, the end users expresssuch intention using the end user terminals 1100 a to 1100 c (S123). Atthis time, the end users may express functions desired to be used by theend users in the examples of the functions realized using the newelement 100. Alternatively, the end users may newly propose functionsrealized using the new elements 100 and the suggested functions may bepublished along with the ideas of the new elements 100.

When a number of end users equal to or greater than a predeterminednumber express an intention to purchase the new element 100, manufacturethereof is entrusted to the hardware manufacturer (S124). In this case,the end user may pay the price when the end user expresses the intentionto purchase and a part of the price may be used to manufacture the newelement 100. Alternatively, the end user may purchase the element 100and pay the price after the element 100 is manufactured. The hardwaremanufacturer may manufacture, for example, a program realizing afunction for which many end users have expressed the intention to useamong the functions realized using the new elements 100 along with thenew element 100. The manufactured elements 100 or program are suppliedto the end users via the service provider (S125).

At this time, parts of the prices paid by the other end users purchasingthe elements 100 are returned to the end user A supplying the ideas ofthe elements 100 (S126). The server 1300 a of the service provider maydecide a return ratio of the price to the end user A according tocreativity of the idea, contribution of a case in which there are aplurality of initiators, or the like.

2-4. Conclusion of Embodiment

An embodiment of the present disclosure described above can be expressedas follows.

(1) A method including supplying a hardware or software element,supplying a program causing the element to perform a linkage operation,and realizing a function by causing the element disposed in an executionenvironment to perform the linkage operation according to the program,wherein the element and the program are able to be mutuallyindependently supplied.

In the system 10 according to the embodiments, the software or hardwareelements 100 are supplied. The programs (for example, the programdefining the linkage operation between the elements 100, as conceptuallyshown in FIGS. 12 to 17) causing the elements to perform the linkageoperation can be mutually independently supplied separately from theelements 100.

Thus, by changing the combination of the elements 100 or changing theprogram in the combination of the elements 100, it is possible torealize a wide variety of functions. Accordingly, a function moresuitable for the user can be easily realized. For example, asillustrated in the example of FIG. 21, the end user can additionallypurchase the elements 100 in sequence, as necessary. A simulationrealizing a certain function when the elements 100 are additionallypurchased may be supplied to, for example, the server 1300 administeredby the service provider.

(2) The supplying of the program may include uploading a programgenerated by a first end user to a server, and downloading, by a secondend user different from the first end user, the uploaded program fromthe server. The program causing the elements 100 to perform the linkageoperation in the system 10 can be generated by the end user. In theexecution environment of the system 10, the end user may change theprogram or a GUI for generating a new program may be supplied. Forexample, as illustrated in the example of FIG. 22, the program generatedby a certain end user may be uploaded to the server 1300 of the serviceprovider and the program may be downloaded by another end user to beused for the linkage operation of the elements 100.

(3) The supplying of the element may include uploading informationregarding the element manufactured by suppliers to a server of amediator, and purchasing, by an end user, the element with reference tothe uploaded information regarding the element.

The provider of the service in the embodiment may include the supplierof the hardware or software element and the mediator mediatingcirculation of the element. For example, as illustrated in the exampleof FIG. 23, the mediator publishes information regarding the elementssupplied by the suppliers to the end users, so that the end users caneasily receive various elements. The suppliers can also supply theelements to many end users.

(4) The supplying of the program may include uploading informationregarding a function that a first end user desires to realize to aserver, uploading, to the server, a program that is generated by asecond end user different from the first end user with reference to theuploaded information regarding the function and is capable of realizingthe function, and downloading, by the first end user, the uploadedprogram from the server. For example, as illustrated in the example ofFIG. 24, a new program may be generated by an end user based oninformation which is supplied from other end users regarding a functiondesired to be realized. In this case, when another end user purchasesthe new element 100 to realize the function according to the newprogram, a part of the price of the element 100 may also be returned tothe end user generating the new program.

(5) The supplying of the element and the supplying of the program mayinclude purchasing, by a second end user different from a first enduser, a package of a program generated by the first end user and theelement associated with the program. As described above, the elements100 and the program may be mutually independently supplied. However, forexample, as illustrated in the example of FIG. 25, the elements may bepackaged and supplied. Even in this case, for example, when the functionof a product supplied as the package is not necessary, a separatefunction necessary in the element 100 can be realized by changing thecombination of the elements 100 or changing the program for the linkageoperation.

(6) The package may include the hardware element to be delivered, andthe software element and the program to be stored in a medium anddelivered or to be downloaded. For example, as illustrated in theexample of FIG. 26, the package can include the hardware and softwareelements 100 and the program causing the elements 100 to perform thelinkage operations. For example, the hardware elements may be delivered,and the software elements and the program may be stored in a medium tobe delivered or downloaded. In this way, the method of sending theelements 100 or the program from the service provider to the source ofthe end user may be diverse and a plurality of supply methods may beused together even in the same package.

(7) The supplying of the element may include uploading, by amanufacturer of the element, a proposal of a new element to a server,transmitting, by end users referring to the proposal, expressions ofintention to purchase the new element to the server, manufacturing, bythe manufacturer, the new element when the predetermined number of theexpressions of the intention are transmitted, and selling themanufactured element to the end users transmitting the expressions ofthe intention. For example, as illustrated in the example of FIG. 27,the manufacturers of the elements 100 can collect purchase applicants ofthe new elements 100 by uploading the proposals of new elements 100 tothe server 1300. The manufacturers can develop the new elements 100 atlow risk by manufacturing the new elements 100 under the condition thata predetermined number of purchase applications are collected.

(8) A plurality of different functions may be realizable by combiningthe new element with another existing element. For example, as describedwith reference to FIGS. 28A and 28B, when a plurality of differentfunctions (corresponding to a plurality of different products) can berealized by combining the new element 100 x with the existing elements100 y, 100 z, and 100 w or the like, a wide range of purchase applicantscan be collected by setting the elements 100 as units, as describedabove.

(9) The supplying of the element may include uploading, by an end user,a proposal of a new element to a server, transmitting, by end usersreferring to the proposal, expressions of intention to purchase the newelement to the server, manufacturing, by a manufacturer of the element,the new element when the predetermined number of the expressions of theintention are transmitted, and selling the manufactured element to theend users transmitting the expressions of the intention. For example, asdescribed with reference to FIG. 29, the new element may be proposed notby the manufacturer but on an end user side. In this case, when apredetermined number of users approving of the proposal are collected,the service provider provides the manufacturer with a request tomanufacture the element 100 so that the element 100 of which a demand ishigher can be newly added.

3. Hardware Configuration

Next, a hardware configuration of an information processing apparatusaccording to an embodiment of the present disclosure will be describedwith reference to FIG. 30. FIG. 30 is a block diagram illustrating ahardware configuration example of an information processing apparatusaccording to an embodiment of the present disclosure. An informationprocessing apparatus 900 illustrated in the drawing can realize, forexample, the element, the manager, the server, the UI device, an enduser terminal and/or the server device in the above-describedembodiments.

The information processing apparatus 900 includes a CPU (CentralProcessing Unit) 901, a ROM (Read Only Memory) 903, and a RAM (RandomAccess Memory) 905. In addition, the information processing apparatus900 may include a host bus 907, a bridge 909, an external bus 911, aninterface 913, an input device 915, an output device 917, a storagedevice 919, a drive 921, a connection port 923, and a communicationdevice 925. Further, the information processing apparatus 900 mayinclude an imaging device 933 and a sensor 935 as necessary. Theinformation processing apparatus 900 may include a processing circuitsuch as a DSP (Digital Signal Processor) or ASIC (Application SpecificIntegrated Circuit), alternatively or in addition to the CPU 901.

The CPU 901 serves as an operation processor and a controller, andcontrols all or some operations in the information processing apparatus900 in accordance with various programs recorded in the ROM 903, the RAM905, the storage device 919 or a removable recording medium 927. The ROM903 stores programs and operation parameters which are used by the CPU901. The RAM 905 temporarily stores program which are used in theexecution of the CPU 901 and parameters which are appropriately modifiedin the execution. The CPU 901, ROM 903, and RAM 905 are connected toeach other by the host bus 907 configured to include an internal bussuch as a CPU bus. In addition, the host bus 907 is connected to theexternal bus 911 such as a PCI (Peripheral ComponentInterconnect/Interface) bus via the bridge 909.

The input device 915 is a device which is operated by a user, such as amouse, a keyboard, a touch panel, buttons, switches and a lever. Theinput device 915 may be, for example, a remote control unit usinginfrared light or other radio waves, or may be an external connectiondevice 929 such as a portable phone operable in response to theoperation of the information processing apparatus 900. Furthermore, theinput device 915 includes an input control circuit which generates aninput signal on the basis of the information which is input by a userand outputs the input signal to the CPU 901. By operating the inputdevice 915, a user can input various types of data to the informationprocessing apparatus 900 or issue instructions for causing theinformation processing apparatus 900 to perform a processing operation.

The output device 917 includes a device capable of visually or audiblynotifying the user of acquired information. The output device 917 mayinclude a display device such as an LCD (Liquid Crystal Display), a PDP(Plasma Display Panel), and an organic EL (Electro-Luminescence)displays, an audio output device such as a speaker or a headphone, and aperipheral device such as a printer. The output device 917 may outputthe results obtained from the process of the information processingapparatus 900 in a form of a video such as text or an image, and anaudio such as voice or sound.

The storage device 919 is a device for data storage which is configuredas an example of a storage unit of the information processing apparatus900. The storage device 919 includes, for example, a magnetic storagedevice such as a HDD (Hard Disk Drive), a semiconductor storage device,an optical storage device, or a magneto-optical storage device. Thestorage device 919 stores programs to be executed by the CPU 901,various data, and data obtained from the outside.

The drive 921 is a reader/writer for the removable recording medium 927such as a magnetic disk, an optical disk, a magneto-optical disk, or asemiconductor memory, and is embedded in the information processingapparatus 900 or attached externally thereto. The drive 921 readsinformation recorded in the removable recording medium 927 attachedthereto, and outputs the read information to the RAM 905. Further, thedrive 921 writes in the removable recording medium 927 attached thereto.

The connection port 923 is a port used to directly connect devices tothe information processing apparatus 900. The connection port 923 mayinclude a USB (Universal Serial Bus) port, an IEEE1394 port, and a SCSI(Small Computer System Interface) port. The connection port 923 mayfurther include an RS-232C port, an optical audio terminal, an HDMI(registered trademark) (High-Definition Multimedia Interface) port, andso on. The connection of the external connection device 929 to theconnection port 923 makes it possible to exchange various data betweenthe information processing apparatus 900 and the external connectiondevice 929.

The communication device 925 is, for example, a communication interfaceincluding a communication device or the like for connection to acommunication network 931. The communication device 925 may be, forexample, a communication card for a wired or wireless LAN (Local AreaNetwork), Bluetooth (registered trademark), WUSB (Wireless USB) or thelike. In addition, the communication device 925 may be a router foroptical communication, a router for ADSL (Asymmetric Digital SubscriberLine), a modem for various kinds of communications, or the like. Thecommunication device 925 can transmit and receive signals to and from,for example, the Internet or other communication devices based on apredetermined protocol such as TCP/IP. In addition, the communicationnetwork 931 connected to the communication device 925 may be a networkor the like connected in a wired or wireless manner, and may be, forexample, the Internet, a home LAN, infrared communication, radio wavecommunication, satellite communication, or the like.

The imaging device 933 is a device that generates an image by imaging areal space using an image sensor such as a charge-coupled device (CCD)or a complementary metal-oxide-semiconductor (CMOS) sensor, as well asvarious members such as one or more lenses for controlling the formationof a subject image on the image sensor, for example. The imaging device933 may be a device that takes still images, and may also be a devicethat takes moving images.

The sensor 935 is any of various sensors such as an acceleration sensor,a gyro sensor, a geomagnetic sensor, an optical sensor, or a soundsensor, for example. The sensor 935 acquires information regarding thestate of the information processing apparatus 900, such as theorientation of the case of the information processing apparatus 900, aswell as information regarding the environment surrounding theinformation processing apparatus 900, such as the brightness or noisesurrounding the information processing apparatus 900, for example. Thesensor 935 may also include a Global Positioning System (GPS) sensorthat receives GPS signals and measures the latitude, longitude, andaltitude of the apparatus.

The foregoing thus illustrates an exemplary hardware configuration ofthe information processing apparatus 900. Each of the above componentsmay be realized using general-purpose members, but may also be realizedin hardware specialized in the function of each component. Such aconfiguration may also be modified as appropriate according to thetechnological level at the time of the implementation.

4. Supplement

The embodiments of the present disclosure may include the informationprocessing apparatus (end user terminal and/or server device), thesystem, the information processing method executed in the informationprocessing apparatus or the system, the program for causing theinformation processing apparatus to function, and the non-transitorytangible media having the program recorded thereon, which have beendescribed above, for example.

It should be understood by those skilled in the art that variousmodifications, combinations, sub-combinations and alterations may occurdepending on design requirements and other factors insofar as they arewithin the scope of the appended claims or the equivalents thereof.

In addition, the effects described in the present specification aremerely illustrative and demonstrative, and not limitative. In otherwords, the technology according to the present disclosure can exhibitother effects that are evident to those skilled in the art along with orinstead of the effects based on the present specification.

Additionally, the present technology may also be configured as below.

(1)

A system comprising: circuitry configured to store functionalinformation indicating a capability of each of a plurality of elementslocated remotely from the system; identify a function capable of beingperformed by linking a plurality of the elements based on the storedfunctional information; and transmit information corresponding to theidentified function capable of being performed by linking the pluralityof elements to a first device remote from the system.

(2)

The system of (1), wherein the circuitry is configured to: generate aprogram corresponding to the identified function capable of beingperformed by linking the plurality of the elements; and transmit theprogram to the first device.

(3)

The system of any of (1) to (2), wherein the circuitry is configured to:receive information corresponding to a desired function to be performedby linking a subset of the plurality of the elements; generateinformation indicating the subset of the plurality of elements necessaryto perform the desired function; and transmit the generated informationto the first device.

(4)

The system of any of (1) to (3), wherein the circuitry is configured to:receive information identifying a function capable of being performed bylinking a subset of the plurality of elements from the first device; andtransmit information identifying the function capable of being performedlinking the subset of the plurality of elements to a second deviceremote from the system.

(5)

The system of (4), wherein the circuitry is configured to: generate aprogram to be executed to perform the function capable of beingperformed by linking the subset of the plurality of elements; andtransmit the program to be executed to the second device.

(6)

The system of any of (1) to (5), wherein the circuitry is configured to:receive, from the first device, information corresponding to a desiredfunction to be performed and a subset of the plurality of elementsassociated with the first device; identify at least a first element notassociated with the first device necessary to perform the desiredfunction; retrieve a cost associated with acquiring the at least firstelement; and transmit the cost associated with acquiring the at leastfirst element to the first device.

(7)

The system of (6), wherein the circuitry is configured to retrieve thecost associated with acquiring the at least first element from a seconddevice remote from the system.

(8)

The system of any of (1) to (7), wherein the circuitry is configured to:receive, from the first device, information corresponding to a desiredfunction to be performed by linking a subset of the plurality ofelements associated with the first device; share informationcorresponding to the desired function with a second device remote fromthe system; and receive, from the second device, information indicatinga linkage between the subset of the plurality of elements to perform thedesired function.

(9)

The system of any of (1) to (8), wherein the circuitry is configured to:receive, from the first device, information corresponding to a desiredfunction to be performed; share information corresponding to the desiredfunction with a second device remote from the system; and receive, fromthe second device, information identifying a subset of the plurality ofelements to perform the desired function and a linkage between thesubset of the plurality of elements.

(10)

The system of (9), wherein the circuitry is configured to: identify thatat least one of the subset of the plurality of elements is purchasedbased on the information received from the second device; identify acost associated with the at least one of the subset of the plurality ofelements; and reimburse a user associated with the second device with atleast a portion of the cost associated with the at least one of thesubset of the plurality of elements.

(11)

The system of any of (1) to (10), wherein the circuitry is configuredto: receive, from a second device remote from the system, informationidentifying a function capable of being performed by linking a subset ofthe plurality of elements; identify that the first device purchased atleast a one of the subset of the plurality of elements based on theinformation identifying the first function received from the seconddevice; and reimburse a user associated with the second device with atleast a portion of the cost associated with the at least one of thesubset of the plurality of elements.

(12)

The system of any of (1) to (11), wherein the circuitry is configured toreceive, from a second device remote from the system, a plurality offunctions capable of being performed by linking respective subsets ofthe plurality of elements.

(13)

The system of any of (1) to (12), wherein the circuitry is configured totransmit, to the first device, the plurality of functions capable ofbeing performed by linking respective subsets of the plurality ofelements.

(14)

The system of any of (1) to (13), wherein the circuitry is configuredto: store an application configured to link the subset of the pluralityof elements to perform the function; and transmit the application to thefirst device.

(15)

The system of (14), wherein the application includes a user interfaceconfigured to be displayed by the first device and accept a user inputto configure the linking between the plurality of elements.

(16)

The system of any of (1) to (15), wherein the system is a server.

(17)

The system of any of (1) to (15), wherein the system is a plurality ofservers.

(18)

The system of any of (1) to (18), wherein the plurality of elements areeach software elements configured to be communicatively coupled to thefirst device.

(19)

The system of any of (1) to (18), wherein the plurality of elements areeach hardware elements configured to be communicatively coupled to thefirst device.

(20)

A method performed by an information processing system, the methodcomprising: identifying a function capable of being performed by linkinga plurality of elements located remotely from the information processingsystem based on stored functional information indicating a capability ofeach of the plurality of elements; and transmitting informationcorresponding to the identified function capable of being performed bylinking the plurality of elements to a first device remote from theinformation processing system.

(21)

A non-transitory computer readable medium including computer programinstructions, which when executed by an information processing system,cause the information processing system to: identify a function capableof being performed by linking a plurality of elements located remotelyfrom the system based on stored functional information indicating acapability of each of the plurality of elements; and transmitinformation corresponding to the identified function capable of beingperformed by linking the plurality of elements to a first device remotefrom the system.

(22)

A method including:

supplying a hardware or software element;

supplying a program causing the element to perform a linkage operation;and

realizing a function by causing the element disposed in an executionenvironment to perform the linkage operation according to the program,

wherein the element and the program are able to be mutuallyindependently supplied.

(23)

The method according to (22), wherein the supplying of the programincludes uploading a program generated by a first end user to a server,and

downloading, by a second end user different from the first end user, theuploaded program from the server.

(24)

The method according to (22) or (23), wherein the supplying of theelement includes uploading information regarding the elementmanufactured by suppliers to a server of a mediator, and

purchasing, by an end user, the element with reference to the uploadedinformation regarding the element.

(25)

The method according to any one of (22) to (24), wherein the supplyingof the program includes

uploading information regarding a function that a first end user desiresto realize to a server,

uploading, to the server, a program that is generated by a second enduser different from the first end user with reference to the uploadedinformation regarding the function and is capable of realizing thefunction, and

downloading, by the first end user, the uploaded program from theserver.

(26)

The method according to any one of (22) to (25), wherein the supplyingof the element and the supplying of the program include

purchasing, by a second end user different from a first end user, apackage of a program generated by the first end user and the elementassociated with the program.

(27)

The method according to (26), wherein the package includes the hardwareelement to be delivered, and the software element and the program to bestored in a medium and delivered or to be downloaded.

(28)

The method according to any one of (22) to (27), wherein the supplyingof the element includes

uploading, by a manufacturer of the element, a proposal of a new elementto a server, transmitting, by end users referring to the proposal,expressions of intention to purchase the new element to the server,

manufacturing, by the manufacturer, the new element when thepredetermined number of the expressions of the intention aretransmitted, and

selling the manufactured element to the end users transmitting theexpressions of the intention.

(29)

The method according to (28), wherein a plurality of different functionsare realizable by combining the new element with another existingelement.

(30)

The method according to any one of (22) to (29), wherein the supplyingof the element includes

uploading, by an end user, a proposal of a new element to a server,

transmitting, by end users referring to the proposal, expressions ofintention to purchase the new element to the server,

manufacturing, by a manufacturer of the element, the new element whenthe predetermined number of the expressions of the intention aretransmitted, and

selling the manufactured element to the end users transmitting theexpressions of the intention.

(31)

A system including:

a terminal device used by an end user; and

a server administered by a service provider,

wherein the terminal device and the server perform communication tosupply, from the provider to the end user, a hardware or softwareelement and a program causing the element to perform a linkageoperation,

wherein a function is realized by causing the element disposed in anexecution environment to perform the linkage operation according to theprogram, and

wherein the element and the program are able to be mutuallyindependently supplied.

REFERENCE SIGNS LIST

-   10 system-   100 element-   110 communication unit-   120 control unit-   130 function unit-   140 power unit-   200 manager-   210 communication unit-   220 control unit-   230 storage unit-   300 server-   310 communication unit-   320 control unit-   330 storage unit-   400 UI device-   410 communication unit-   420 control unit-   430 input and output unit-   1100 end user terminal-   1300 server-   2200 service platform

1. A system comprising: circuitry that: stores functional informationindicating a capability of each of a plurality of elements locatedremotely from the system, the plurality of elements including at leastone or more sensors, the at least one or more sensors being a motionsensor, a camera sensor, or a human detection sensor; identifies afunction capable of being performed by linking a plurality of displayedinformation corresponding to the elements based on the stored functionalinformation; and generates executable application instructions; andtransmits the executable application instructions corresponding to theidentified function capable of being performed by linking the pluralityof displayed information corresponding to the elements to a first deviceremote from the system.